<item name="Generate Code For Template" key="generate code for template" id="{86923934-5C65-4B75-9224-930651FBDDC3}" tid="{DD22F1B3-BD87-4DB2-9E7D-F7A496888D43}" mid="{00000000-0000-0000-0000-000000000000}" sortorder="-55056" language="en" version="1" template="powershell script" parentid="{032A21CC-B3CF-4729-86DA-F5DDD530367A}"><fields><field tfid="{BADD9CF9-53E0-4D0C-BCC0-2D784C282F6A}" key="__updated by" type="text"><content>sitecore\admin</content></field><field tfid="{8CDC337E-A112-42FB-BBB4-4143751E123F}" key="__revision" type="text"><content>bc3678de-9677-4097-a8a1-03ce6bbd8523</content></field><field tfid="{25BED78C-4957-4165-998A-CA1B52F67497}" key="__created" type="datetime"><content>20160311T140538Z</content></field><field tfid="{D9CF14B1-FA16-4BA6-9288-E8A174D4D522}" key="__updated" type="datetime"><content>20160714T141940Z</content></field><field tfid="{1C76313E-3C8C-4807-A826-135D10C39299}" key="showrule" type="Rules"><content>&lt;ruleset&gt;
  &lt;rule uid="{B6688086-35FD-4F97-976D-04870A1D4AC9}"&gt;
    &lt;conditions&gt;
      &lt;condition id="{5DE6D53E-EA62-4D17-8BDD-FEBCD80AC07B}" uid="AD0FF90954FD4DE8A7CCF2D3CF8B73F2" templateid="{AB86861A-6030-46C5-B394-E8F99E8B87DB}" /&gt;
    &lt;/conditions&gt;
  &lt;/rule&gt;
&lt;/ruleset&gt;</content></field><field tfid="{06D5295C-ED2F-4A54-9BF2-26228D113318}" key="__icon" type="Icon"><content>Office/32x32/keyboard.png</content></field><field tfid="{BA3F86A2-4A1C-4D78-B63D-91C2779C1B5E}" key="__sortorder" type="text"><content>-55056</content></field><field tfid="{B1A94FF0-6897-47C0-9C51-AA6ACB80B1F0}" key="script" type="Multi-Line Text"><content>$templateItem = Get-Item .

function Get-FieldText($field){
    Write-Host "`t`tpublic static readonly ID $(Get-ValidName $field.Name) = new ID(`"$($field.ID)`");"
}

function Get-ValidName($name){
    $name.Replace(' ','')
}

$fields = Get-ChildItem -Path $templateItem.Paths.Path -Recurse | ?{ $_.TemplateName -eq "Template field"}

Write-Host "public struct $(Get-ValidName $templateItem.DisplayName)"
Write-Host "{"
    Write-Host "`tpublic static ID ID = ID.Parse(`"$($templateItem.ID)`");"
    Write-Host "`tpublic struct Fields"
    Write-Host "`t{"
    $fields | %{ Get-FieldText $_ }    
    Write-Host "`t}"
Write-Host "}"

Show-Result -Text -Width 900
Close-Window</content></field></fields></item>